// Ofri Keidar 302933981 group 05

package model.apartment;

import java.util.Map;

/**
 * Used to parse parameters out of string. Each class derived from Apartment, should have its own parameter parser class that implements
 * this interface
 */
public interface ParameterParser {
	
	// keys for parameters in map
	public static final String RESIDENT_NAME = "ownerName";
	public static final String APARTMENT_NUMBER = "apartmentNumber";
	public static final String SIZE = "sizeOfApartment";
	public static final String ROOM_NUMBER = "numberOfRooms";
	public static final String FLOOR = "floor";	
	public static final String STORAGE_AREA = "storageArea";
	public static final String GARDEN_AREA = "gardenArea";
	public static final String BALCONY_AREA = "balconyArea";
	public static final String SEPARATE_ENTRANCE = "separateEntrance";
	
	// keys for apartment types
	public static final String FLAT = "RegularApartment";
	public static final String GARDEN_APARTMENT = "GardenApartment";
	public static final String PENTHOUSE = "Penthouse";
	
	/**
	 * Gets map of parameters, where key is parameter's name and value is the parameter as a string.
	 * If parameters were given in correct format, returns True.
	 * Otherwise, returns False
	 * @param parameters- map of parameters and their names
	 * @return True if parameters are of correct format, False if not
	 */
	public boolean parseParameters(Map<String, String> parameters); 
}